package com.jhgsys.internal.base.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;


/**
 *  Entity
 *
 * @author zhangwei
 * @date 2024-09-05 09:48:17
 */
@Data
@TableName("base_cautionary_lesson")
public class BaseCautionaryLesson implements Serializable {

    /**
     * 主键
     */
    @TableId(value = "cautionary_lesson_id", type = IdType.ASSIGN_UUID)
    private String cautionaryLessonId;

    /**
     * 公司Id
     */
    @TableField("tenant_id")
    private String tenantId;

    /**
     * 警示来源;1:事故管理 2：违章记分 3：隐患上报 4：安全检查 
     */
    @TableField("cautionary_source")
    private String cautionarySource;

    /**
     * 警示来源Id
     */
    @TableField("cautionary_source_id")
    private String cautionarySourceId;

    /**
     * 警示标题
     */
    @TableField("cautionary_title")
    private String cautionaryTitle;

    /**
     * 警示部门Id
     */
    @TableField("cautionary_dept_id")
    private String cautionaryDeptId;

    /**
     * 警示部门
     */
    @TableField("cautionary_dept")
    private String cautionaryDept;

    /**
     * 学习时间
     */
    @TableField("study_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date studyDate;

    /**
     * 学习备注
     */
    @TableField("study_remark")
    @Size(max = 800, message = "{noMoreThan}")
    private String studyRemark;

    /**
     * 警示状态;0:待学习 1：已学习
     */
    @TableField("status")
    private String status;

    /**
     * 附件信息
     */
    @TableField("cautionary_fileinfo")
    private String cautionaryFileInfo;

    /**
     * 新增人
     */
    @TableField("created_by")
    private String createdBy;

    /**
     * 新增时间
     */
    @TableField("created_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    /**
     * 修改人
     */
    @TableField("updated_by")
    private String updatedBy;

    /**
     * 修改时间
     */
    @TableField("updated_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;

    /**
     * 删除人
     */
    @TableField("deleted_by")
    private String deletedBy;

    /**
     * 删除时间
     */
    @TableField("deleted_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deletedTime;

    /**
     * 删除标记
     */
    @TableField("deleted_flg")
    private String deletedFlg;

}